home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 3 / Cream of the Crop 3.iso / comm / wnos5src.zip / VANESSA.H < prev    next >
Text File  |  1993-08-09  |  4KB  |  124 lines

  1. /*      vanessa.h
  2.  *
  3.  * Definitions for vanessa.c driver code by hb9rwm
  4.  *
  5.  */
  6.  
  7.  
  8. #define VAN_MAX 8       /* one board = two AX.25 ports ! 8-> 4 Boards */
  9. #define MAXLFRAME       1024    /* version depending */
  10. #define DP_BLOCK        4096    /* size of DP-RAM for one port */
  11.  
  12. #define PARAM_COUNT 5
  13.  
  14. #define TXDELAY 1       /* Transmit Delay 10 ms/cnt */
  15. #define PERSIST 2       /* Persistence (0-255) as a % */
  16. #define SLOTTIME        3       /* Delay to wait on persistence hit */
  17. #define TXTAIL          4       /* Delay after XMTR OFF */
  18. #define FULLDUP 5       /* Full Duplex mode 0=CSMA 1=DUP 2=ALWAYS KEYED */
  19.  
  20. #define LED_ON          0       /* LED's on the rear of the vanessa board */
  21. #define LED_OFF 1
  22.  
  23. #define BASE_SEGMENT    0xd000  /* segment of first board */
  24. #define BASE_IO         0x300   /* io address of first board */
  25.  
  26. #define cPNr    2                               /* offset in DP-RAM */
  27. #define cRev    4
  28. #define cRst    8
  29.  
  30. #define cRx     10
  31. #define cTx     13
  32. #define cTxKu   16
  33. #define cRxBf   19
  34. #define cTxBf   21
  35. #define cRxBe   23
  36. #define cTxBe   25
  37. #define cRFlI   27
  38. #define cTFlC   29
  39. #define cTFlI   31
  40. #define cRCRC   33
  41. #define cRxOv   35
  42. #define cTxTo   37
  43. #define cSyTx   39
  44. #define cSyRx   41
  45. #define cRxAb   43
  46. #define cTxUdr 45
  47. #define cPort1 cTxUdr+2-cRx     /* start counters for port 1 */
  48.  
  49. #define CMD_UPLOAD              0x0100
  50. #define CMD_CRC         0x0200
  51. #define CMD_EXEC                0x0300
  52. #define CMD_DOWNLOAD    0x0400
  53. #define CMD_POINTER     0x0500
  54. #define CMD_ID_LOAD     0x0600
  55.  
  56. #define CMD_TIMEOUT     1000            /* wait counter */
  57.  
  58. #define CDATA_SIZE      1873            /* size of dp_cDATA */
  59.  
  60. /* Data type definitions --------------------------------------- */
  61.  
  62.  
  63. struct dp_record{
  64.  
  65.         int16   dp_iFProd;                      /* 0x0: DATA TRUE   */
  66.         int16   dp_iLFrm;                       /* length of data   */
  67.         int16   dp_iOCtl;                       /* currently unused */
  68.         unsigned char
  69.                 dp_iBuffer[MAXLFRAME+70];       /* Data and res.    */
  70.         int16   dp_iMagic;                      /* Bufferend Mark   */
  71.  
  72.         int16   dp_oFProd;                      /* 0x0: DATA TRUE   */
  73.         int16   dp_oLFrm;                       /* length of data   */
  74.         int16   dp_oOCtl;                       /* currently unused */
  75.         unsigned char
  76.                 dp_oBuffer[MAXLFRAME+70];       /* Data and res.    */
  77.         int16   dp_oMagic;                      /* Bufferend Mark   */
  78.  
  79.         int16   dp_reReadPar;                   /* 0x0: Param. TRUE */
  80.         int16   dp_pSlottime;                   /* Slottime x 10ms  */
  81.         int16   dp_pTXDelay;                    /* Tx Delay x 10ms  */
  82.         int16   dp_pTXTail;                     /* Tx Tail  x 10ms  */
  83.         int16   dp_pPersist;                    /* Persistanse      */
  84.         int16   dp_pDuplex;                     /* 0=half, ff=full  */
  85.  
  86.         int16   dp_cCMD;                                                 /* 0x0:
  87. CMD TRUE    */
  88.         int16   dp_cCNT;                                                 /*
  89. Length of Data   */
  90.         int16   dp_cADR;                                                 /*
  91. Address          */
  92.         unsigned char   dp_cData[CDATA_SIZE];   /* Data             */
  93. };
  94.  
  95.  
  96. struct vandrvr{
  97.         struct  dp_record far *dpram_base;
  98.         int16   ioled;
  99.         int16   iores;
  100.         struct  iface *iface;
  101.         int16   portnr;
  102.         int16   nTXwait;
  103.         int16   nTXmaxlen;
  104.         int16   nRXmaxlen;
  105. };
  106.  
  107. typedef union {
  108.   struct dp_record dprec;
  109.   unsigned char dpflat[DP_BLOCK];
  110. } dpram_type;
  111.  
  112.  
  113. /* function prototypes */
  114.  
  115. int van_ioctl __ARGS((struct iface *iface,int, char **));
  116. int van_raw __ARGS((struct iface *iface,struct mbuf *data));
  117. int pk_send __ARGS((struct mbuf *bp,struct iface *iface,int32 gateway,
  118.         int prec,int del,int tput,int rel));
  119. void van_rx __ARGS((int dev,void *p1,void *p2));
  120. int van_status __ARGS((struct iface *iface));
  121. void van_reset __ARGS((struct vandrvr *vp));
  122. int32 cova __ARGS((char *p,int16 n));
  123.  
  124.